package com.irdstudio.efp.esb.api.bean.sed.credit.req;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.irdstudio.basic.framework.core.annotation.BeanMapKey;
import com.irdstudio.basic.framework.core.annotation.DicType;
import com.irdstudio.basic.framework.core.constant.SDicCertTypeEnum;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

/**
* 普税贷产品对税e贷产品的此部分代码做了复用
* 说明：为了保证功能的复用性、提升开发的工作效率，对该代码进行了复用
* 评估是否会影响线上功能：否
* 评估时间：2020/5/25
* 处理方案：保留复用
*/
public class ReqContractSignBean {

    /**
     * 授信申请流水号
     */
    @BeanMapKey("CrdtAppFlowNo")
    @JsonProperty("CrdtAppFlowNo")
    @NotNull
    @NotEmpty
    @Length(max = 64)
    private String CrdtAppFlowNo;
    /**
     * 授信协议编号
     */
    @BeanMapKey("CrdAgrmNo")
    @JsonProperty("CrdAgrmNo")
    @NotNull
    @NotEmpty
    @Length(max = 60)
    private String CrdAgrmNo;
    /**
     * 分行名称
     */
    @BeanMapKey("BrchNm")
    @JsonProperty("BrchNm")
    @Length(max = 200)
    private String BrchNm;
    /**
     * 机构所在地
     */
    @BeanMapKey("OrgSite")
    @JsonProperty("OrgSite")
    @Length(max = 200)
    private String OrgSite;
    /**
     * 机构邮政编码
     */
    @BeanMapKey("OrgPstCd")
    @JsonProperty("OrgPstCd")
    @Length(max = 15)
    private String OrgPstCd;
    /**
     * 机构传真
     */
    @BeanMapKey("OrgFax")
    @JsonProperty("OrgFax")
    @Length(max = 30)
    private String OrgFax;
    /**
     * 单位电话
     */
    @BeanMapKey("CorpTel")
    @JsonProperty("CorpTel")
    @Length(max = 20)
    private String CorpTel;
    /**
     * 客户姓名
     */
    @BeanMapKey("CustNm")
    @JsonProperty("CustNm")
    @NotNull
    @NotEmpty
    @Length(max = 256)
    private String CustNm;
    /**
     * 证件类型
     */
    @BeanMapKey("CertTp")
    @JsonProperty("CertTp")
    @NotNull
    @NotEmpty
    @Length(max = 12)
    @DicType(dicType = SDicCertTypeEnum.class, method = "getValue")
    private String CertTp;
    /**
     * 证件号码
     */
    @BeanMapKey("CertNo")
    @JsonProperty("CertNo")
    @NotNull
    @NotEmpty
    @Length(max = 32)
    private String CertNo;
    /**
     * 居住地址
     */
    @BeanMapKey("ResdntAddr")
    @JsonProperty("ResdntAddr")
    @NotNull
    @NotEmpty
    @Length(max = 128)
    private String ResdntAddr;
    /**
     * 邮编
     */
    @BeanMapKey("Pstcd")
    @JsonProperty("Pstcd")
    @Length(max = 60)
    @NotNull
    @NotEmpty
    private String Pstcd;
    /**
     * 客户传真
     */
    @BeanMapKey("ClnttFax")
    @JsonProperty("ClnttFax")
    @Length(max = 30)
    private String ClnttFax;
    /**
     * 联系电话
     */
    @BeanMapKey("CtcTelNo")
    @JsonProperty("CtcTelNo")
    @NotNull
    @NotEmpty
    @Length(max = 15)
    private String CtcTelNo;
    /**
     * 邮箱
     */
    @BeanMapKey("Email")
    @JsonProperty("Email")
    @NotNull
    @NotEmpty
    @Length(max = 200)
    private String Email;
    /**
     * 小写贷款金额
     */
    @BeanMapKey("RMBLwrcs")
    @JsonProperty("RMBLwrcs")
    @NotNull
    @NotEmpty
    @Length(max = 20)
    private String RMBLwrcs;
    /**
     * 大写贷款金额
     */
    @BeanMapKey("RMBCptl")
    @JsonProperty("RMBCptl")
    @NotNull
    @NotEmpty
    @Length(max = 128)
    private String RMBCptl;
    /**授信有效期*/
    @BeanMapKey("CrdtDt")
    @JsonProperty("CrdtDt")
    @Length(max = 8)
    private String CrdtDt;
    /**
     * 授信开始年
     */
    @BeanMapKey("CrdStrtYr")
    @JsonProperty("CrdStrtYr")
    @Length(max = 4)
    private String CrdStrtYr;
    /**
     * 授信开始月
     */
    @BeanMapKey("CrdStrtMnth")
    @JsonProperty("CrdStrtMnth")
    @Length(max = 2)
    private String CrdStrtMnth;
    /**
     * 授信开始日
     */
    @BeanMapKey("CrdStrtDay")
    @JsonProperty("CrdStrtDay")
    @Length(max = 2)
    private String CrdStrtDay;
    /**
     * 授信结束年
     */
    @BeanMapKey("CrdEndYr")
    @JsonProperty("CrdEndYr")
    @Length(max = 4)
    private String CrdEndYr;
    /**
     * 授信结束月
     */
    @BeanMapKey("CrdEndMnth")
    @JsonProperty("CrdEndMnth")
    @Length(max = 2)
    private String CrdEndMnth;
    /**
     * 授信结束日
     */
    @BeanMapKey("CrdEndDay")
    @JsonProperty("CrdEndDay")
    @Length(max = 2)
    private String CrdEndDay;
    /**
     * 循环标志
     */
    @BeanMapKey("RvlvFlg")
    @JsonProperty("RvlvFlg")
    @Length(max = 5)
    private String RvlvFlg;
    /**
     * 贷款期限
     */
    @BeanMapKey("LoanTrm")
    @JsonProperty("LoanTrm")
    @Length(max = 5)
    private String LoanTrm;
    /**
     * 贷款年数
     */
    @BeanMapKey("LoanYrCnt")
    @JsonProperty("LoanYrCnt")
    @Length(max = 4)
    private String LoanYrCnt;
    /**
     * 贷款月数
     */
    @BeanMapKey("LoanMnthCnt")
    @JsonProperty("LoanMnthCnt")
    @Length(max = 4)
    private String LoanMnthCnt;
    /**
     * 其他贷款日期
     */
    @BeanMapKey("OthrLoanDt")
    @JsonProperty("OthrLoanDt")
    @Length(max = 10)
    private String OthrLoanDt;
    /**
     * 利率类型
     */
    @BeanMapKey("IntRtTp")
    @JsonProperty("IntRtTp")
    @Length(max = 5)
    private String IntRtTp;
    /**
     * 上浮利率
     */
    @BeanMapKey("UpFltIntRt")
    @JsonProperty("UpFltIntRt")
    @Length(max = 10)
    private String UpFltIntRt;
    /**
     * 下浮利率
     */
    @BeanMapKey("SnkgIntRt")
    @JsonProperty("SnkgIntRt")
    @Length(max = 10)
    private String SnkgIntRt;
    /**
     * 贷款账号
     */
    @BeanMapKey("LoanAcctNo")
    @JsonProperty("LoanAcctNo")
    @Length(max = 32)
    private String LoanAcctNo;
    /**
     * 还款方式
     */
    @BeanMapKey("RpyMd")
    @JsonProperty("RpyMd")
    @Length(max = 5)
    private String RpyMd;
    /**
     * 还款方式代码1
     */
    @BeanMapKey("RpyMdCd1")
    @JsonProperty("RpyMdCd1")
    @Length(max = 2)
    private String RpyMdCd1;
    /**
     * 还款方式代码2
     */
    @BeanMapKey("RpyMdCd2")
    @JsonProperty("RpyMdCd2")
    @Length(max = 2)
    private String RpyMdCd2;
    /**
     * 还款方式代码3
     */
    @BeanMapKey("RpyMdCd3")
    @JsonProperty("RpyMdCd3")
    @Length(max = 2)
    private String RpyMdCd3;
    /**
     * 还款账户
     */
    @BeanMapKey("RpyAcctNo")
    @JsonProperty("RpyAcctNo")
    @Length(max = 30)
    private String RpyAcctNo;
    /**
     * 签约日期
     */
    @BeanMapKey("SgnDt")
    @JsonProperty("SgnDt")
    @Length(max = 10)
    private String SgnDt;
    /**
     * 合同编号
     */
    @BeanMapKey("ContrNo")
    @JsonProperty("ContrNo")
    @Length(max = 30)
    private String ContrNo;

    public String getCrdtAppFlowNo() {
        return CrdtAppFlowNo;
    }

    public void setCrdtAppFlowNo(String crdtAppFlowNo) {
        CrdtAppFlowNo = crdtAppFlowNo;
    }

    public String getCrdAgrmNo() {
        return CrdAgrmNo;
    }

    public void setCrdAgrmNo(String crdAgrmNo) {
        CrdAgrmNo = crdAgrmNo;
    }

    public String getBrchNm() {
        return BrchNm;
    }

    public void setBrchNm(String brchNm) {
        BrchNm = brchNm;
    }

    public String getOrgSite() {
        return OrgSite;
    }

    public void setOrgSite(String orgSite) {
        OrgSite = orgSite;
    }

    public String getOrgPstCd() {
        return OrgPstCd;
    }

    public void setOrgPstCd(String orgPstCd) {
        OrgPstCd = orgPstCd;
    }

    public String getOrgFax() {
        return OrgFax;
    }

    public void setOrgFax(String orgFax) {
        OrgFax = orgFax;
    }

    public String getCorpTel() {
        return CorpTel;
    }

    public void setCorpTel(String corpTel) {
        CorpTel = corpTel;
    }

    public String getCustNm() {
        return CustNm;
    }

    public void setCustNm(String custNm) {
        CustNm = custNm;
    }

    public String getCertTp() {
        return CertTp;
    }

    public void setCertTp(String certTp) {
        CertTp = certTp;
    }

    public String getCertNo() {
        return CertNo;
    }

    public void setCertNo(String certNo) {
        CertNo = certNo;
    }

    public String getResdntAddr() {
        return ResdntAddr;
    }

    public void setResdntAddr(String resdntAddr) {
        ResdntAddr = resdntAddr;
    }

    public String getPstcd() {
        return Pstcd;
    }

    public void setPstcd(String pstcd) {
        Pstcd = pstcd;
    }

    public String getClnttFax() {
        return ClnttFax;
    }

    public void setClnttFax(String clnttFax) {
        ClnttFax = clnttFax;
    }

    public String getCtcTelNo() {
        return CtcTelNo;
    }

    public void setCtcTelNo(String ctcTelNo) {
        CtcTelNo = ctcTelNo;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String email) {
        Email = email;
    }

    public String getRMBLwrcs() {
        return RMBLwrcs;
    }

    public void setRMBLwrcs(String RMBLwrcs) {
        this.RMBLwrcs = RMBLwrcs;
    }

    public String getRMBCptl() {
        return RMBCptl;
    }

    public void setRMBCptl(String RMBCptl) {
        this.RMBCptl = RMBCptl;
    }

    public String getCrdtDt() {
        return CrdtDt;
    }

    public void setCrdtDt(String crdtDt) {
        CrdtDt = crdtDt;
    }

    public String getCrdStrtYr() {
        return CrdStrtYr;
    }

    public void setCrdStrtYr(String crdStrtYr) {
        CrdStrtYr = crdStrtYr;
    }

    public String getCrdStrtMnth() {
        return CrdStrtMnth;
    }

    public void setCrdStrtMnth(String crdStrtMnth) {
        CrdStrtMnth = crdStrtMnth;
    }

    public String getCrdStrtDay() {
        return CrdStrtDay;
    }

    public void setCrdStrtDay(String crdStrtDay) {
        CrdStrtDay = crdStrtDay;
    }

    public String getCrdEndYr() {
        return CrdEndYr;
    }

    public void setCrdEndYr(String crdEndYr) {
        CrdEndYr = crdEndYr;
    }

    public String getCrdEndMnth() {
        return CrdEndMnth;
    }

    public void setCrdEndMnth(String crdEndMnth) {
        CrdEndMnth = crdEndMnth;
    }

    public String getCrdEndDay() {
        return CrdEndDay;
    }

    public void setCrdEndDay(String crdEndDay) {
        CrdEndDay = crdEndDay;
    }

    public String getRvlvFlg() {
        return RvlvFlg;
    }

    public void setRvlvFlg(String rvlvFlg) {
        RvlvFlg = rvlvFlg;
    }

    public String getLoanTrm() {
        return LoanTrm;
    }

    public void setLoanTrm(String loanTrm) {
        LoanTrm = loanTrm;
    }

    public String getLoanYrCnt() {
        return LoanYrCnt;
    }

    public void setLoanYrCnt(String loanYrCnt) {
        LoanYrCnt = loanYrCnt;
    }

    public String getLoanMnthCnt() {
        return LoanMnthCnt;
    }

    public void setLoanMnthCnt(String loanMnthCnt) {
        LoanMnthCnt = loanMnthCnt;
    }

    public String getOthrLoanDt() {
        return OthrLoanDt;
    }

    public void setOthrLoanDt(String othrLoanDt) {
        OthrLoanDt = othrLoanDt;
    }

    public String getIntRtTp() {
        return IntRtTp;
    }

    public void setIntRtTp(String intRtTp) {
        IntRtTp = intRtTp;
    }

    public String getUpFltIntRt() {
        return UpFltIntRt;
    }

    public void setUpFltIntRt(String upFltIntRt) {
        UpFltIntRt = upFltIntRt;
    }

    public String getSnkgIntRt() {
        return SnkgIntRt;
    }

    public void setSnkgIntRt(String snkgIntRt) {
        SnkgIntRt = snkgIntRt;
    }

    public String getLoanAcctNo() {
        return LoanAcctNo;
    }

    public void setLoanAcctNo(String loanAcctNo) {
        LoanAcctNo = loanAcctNo;
    }

    public String getRpyMd() {
        return RpyMd;
    }

    public void setRpyMd(String rpyMd) {
        RpyMd = rpyMd;
    }

    public String getRpyMdCd1() {
        return RpyMdCd1;
    }

    public void setRpyMdCd1(String rpyMdCd1) {
        RpyMdCd1 = rpyMdCd1;
    }

    public String getRpyMdCd2() {
        return RpyMdCd2;
    }

    public void setRpyMdCd2(String rpyMdCd2) {
        RpyMdCd2 = rpyMdCd2;
    }

    public String getRpyMdCd3() {
        return RpyMdCd3;
    }

    public void setRpyMdCd3(String rpyMdCd3) {
        RpyMdCd3 = rpyMdCd3;
    }

    public String getRpyAcctNo() {
        return RpyAcctNo;
    }

    public void setRpyAcctNo(String rpyAcctNo) {
        RpyAcctNo = rpyAcctNo;
    }

    public String getSgnDt() {
        return SgnDt;
    }

    public void setSgnDt(String sgnDt) {
        SgnDt = sgnDt;
    }

    public String getContrNo() {
        return ContrNo;
    }

    public void setContrNo(String contrNo) {
        ContrNo = contrNo;
    }
}
